package com.leesche.zcsp.node.web.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.leesche.zcsp.node.web.model.SysModule;
import com.leesche.zcsp.node.web.model.SysModuleCriteria;
import com.leesche.zcsp.node.web.service.impl.data.read.QuerySysModuleCondition;
import com.leesche.zcsp.node.web.service.impl.data.read.SysModuleDto;

/**
 * @Title: SysModuleDao.java
 * @Description: TODO(系统用户的Dao基本的增删改查操作)
 * @author 陈立勇
 * @date 2016年9月17日 下午10:46:06
 * @version V1.0
 */
public interface SysModuleDao
		extends
		BaseDao<SysModule, SysModuleCriteria, SysModuleDto, QuerySysModuleCondition, Long> {

	/**
	 * @Title: selectByParentTree 
	 * @Description: TODO(获取系统权限一二级树节点) 
	 * @author Jerry Chen
	 * @date 2016年9月30日 下午4:34:12
	 * @return List<SysModule>  系统权限一二级树节点集合
	 */
	List<SysModule> selectByParentTree();

	List<SysModule> selectByTree(QuerySysModuleCondition querySysModuleCondition);
	/**
	 * 
	* @Title: selectAll 
	* @Description: TODO(查询所有的权限) 
	* @param @param querySysModuleCondition
	* @param @return   
	* @return List<SysModule>   
	* @throws
	 */
	List<SysModuleDto> selectAll(QuerySysModuleCondition querySysModuleCondition);
	/**
	 * 
	* @Title: selectByNtype 
	* @Description: TODO(通过Ntype和URL查询) 
	* @param @param querySysModuleCondition
	* @param @return   
	* @return SysModule   
	* @throws
	 */
	SysModuleDto selectOneBySysModuleCondition(QuerySysModuleCondition querySysModuleCondition);
	
	List<Long>  selectModuleID(QuerySysModuleCondition querySysModuleCondition);
	
	

}